#ifndef __Lake_h_
#define __Lake_h_

#include "WaterEmitter.h"
#include "ActorEntitySceneNode.h"

class Lake : public ActorEntitySceneNode
{

public:
	Lake(WorldEnums::eSceneryObjects sceneryId, Ogre::String mName, int mCapacity, NxOgre::SceneGeometry *mActor, Ogre::SceneNode* mSceneNode, Ogre::Entity* mEntity);
	~Lake(void);

	int getNumEmitters(void);
	void setCapacity(int capacity);
	int getCapacity(void);
	void setCurrentLevel(int level);
	int getCurrentLevel(void);
	void incLevel(int value);
	void fireEmitter(int index, int particleSize);
	void fireAllEmitters(int particleSize);
	WaterEmitter *getEmitter(int index);
	void attachEmitter(WaterEmitter *waterEmitter);

private:

	int mCapacity;
	int mCurrentLevel;

	std::vector<WaterEmitter*> attachedEmitters;
};

#endif // #ifndef __Lake_h_
